home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / edit / me_cd25.zip / DOC.ZIP / MC2BUGS.DOC < prev    next >
Text File  |  1992-11-09  |  5KB  |  130 lines

  1.          The Mutt Compiler and Mutt Machine Bug Lists
  2.          --- ---- -------- --- ----    -------    --- -----
  3. This file contains two bug lists:  One for MC and the other for MM.
  4.  
  5. ====================================================================
  6. ====            MC2 Needed Features            ====
  7. ====================================================================
  8.  
  9.  
  10. ====================================================================
  11. ====            The MC2 Low End of the Want List            ====
  12. ====================================================================
  13.  
  14. ====================================================================
  15. ====            MC2 Bug and Change list            ====
  16. ====================================================================
  17. - means bug in this (and subsequent) releases
  18. * means bug fixed in next release
  19. + means new feature in next release
  20.  
  21.  
  22. v2.1 2/2/92    [re-released August 30, 1992]
  23. ---- ------
  24. - MMload_code() (mm.c) should also print the file name when complaining.
  25.   5/92
  26.  
  27. v2.1 2/2/92    [released April 12, 1992]
  28. ---- ------
  29. + Wrote mco_to_c.c - a program that converts a .mco file into C.
  30.   Basically, it preloads the .mco file so you can link it into an
  31.   application.  Thanks to Todd Moody (sjuphil!tmoody@uu.psi.com) for the
  32.   initial idea.  Only change to existing code was to unstatic a routine
  33.   in mm.c.  8/92
  34.  
  35. - MMload_code() (mm.c) should also print the file name when complaining.
  36.   5/92
  37.  
  38. v2.0 2/2/92    [MC2 beta, released February 28, 1992]
  39. ---- ------
  40. * Various lint cleanups.  3/92
  41. * Added support for stdargs.  I still don't like being forced to have an
  42.   arg before the var args start.  3/92
  43.  
  44.  
  45. ============== MC below, MC2 above ===========
  46.  
  47. Convert to MC2 and MM2:
  48. -------    -- --- --- ---
  49. + Changed strings to dynamic strings, no length (prototyped 3/91).
  50. + Added MMgc_external_objects() call to mm.c
  51. + Changed to strings-as-objects with garbage collection, did the object
  52.   manager stuff (5/91).
  53. + Added list, extract-element, extract-elements, insert-object
  54.   length-of, remove-elements keywords 6/91.
  55. + Moved functionality of strlen into length-of, removed strlen.
  56. + Added convert-to.  With this, (asc) is just (convert-to NUMBER
  57.   (extract-element text n)).  In CLisp, this is (coerce object
  58.   result-type).
  59. + Moved functionality of substr into extract-elements and
  60.   extract-element, removed substr (12/91).
  61. + Renamed int to small-int and INT to int.  Forgetting that int was only
  62.   16 bits burned me once and thats enough.  I should probably get rid of
  63.   small-int and rename int to number but thats just a bit too drastic
  64.   for this old C hack.  (12/91).
  65. + Changed the format of the errors, warnings line MC2 spits out so it
  66.   doesn't confuse automatic error parsing.  1/92.
  67.  
  68.  
  69. 7/23/89 (PL1)     [released ?]
  70. -------------
  71.  
  72. 7/23/89     [released August 6, 1989]
  73. -------
  74. + Major functionality changes to create MC2.
  75. + Need a way to push an expression onto the call stack:  (push-arg exp).
  76.  
  77. 9/5/88 (PL2)
  78. -----------
  79. * Fixed how (ask) works.  See notes in ME 9/5/88 (PL4).
  80. * Renamed case to cond.  The functionality is the same as LISPs cond so
  81.     I used that name for consistency.  Removed case from documentation.
  82.  
  83. 9/5/88
  84. ------
  85. * (const 'foobar'
  86.     )
  87.     causes an error.
  88. * (floc foobar) will error if foobar not defined yet.
  89.   Fix:  Now errors if foobar not defined in the file.
  90.  
  91.  
  92.  
  93. ====================================================================
  94. ====            MM2 Needed Features            ====
  95. ====================================================================
  96.  
  97.  
  98. ====================================================================
  99. ====            The MM2 Low End of the Want List            ====
  100. ====================================================================
  101.  
  102.  
  103. ====================================================================
  104. ====            MM2 Bug and Change list            ====
  105. ====================================================================
  106. - means bug in this (and subsequent) releases
  107. * means bug fixed in next release
  108. + means new feature in next release
  109.  
  110.  
  111. v2.0 2/2/92    [MC2 beta, released February 28, 1992]
  112. ---- ------
  113. - In MMload_code() (mm.c) I don't check fread() for errors.  Could be a
  114.   problem when reading bogus .mco files.  4/92
  115.  
  116.  
  117. ============== MM bugs ===========
  118. * If you do a (floc (concat "foo")()) and foo doesn't exist, MM core
  119.   dumps.  This is due to the op structure pointing to result so
  120.   strcat(result,name) infinite loops in exetern().  Fix is to push name
  121.   on val stack if it is in result (in PUSHRV).  This was also a bug
  122.   because if result (RV) changed before the function was called, the
  123.   wrong thing would be called.  4/16/91.
  124. * Part of the above bug, modify pushpush() to gen a PUSH (instead of a
  125.   SHOVE) if pushing a FCNPTR - otherwise the above fix won't get a
  126.   chance to work.  4/16/91.
  127.   This fix is AFU.  Can't push because it sets a stack frame - gotta
  128.   shove.  The real fix is in MM.  In faddr, if if the routine name is in
  129.   result, push it onto the val stack.  Right fix, wrong place.  9/13/91
  130.